const originalGetApp = getApp;
getApp = function() {
    const appInstance = originalGetApp.apply(this, arguments);
    return new Proxy(appInstance, {
        get(target, prop) {
            if (prop === '$store' || prop === '$root' || prop === '$vm' || prop == '_self') return undefined;
            return target[prop];
        }
    });
};


import App from './App'
import store from './store'
Vue.prototype.$store = store


import common from '@/common/common.js';
Vue.prototype.$common = common;

import skill from '@/manager/skill.js';
Vue.prototype.$skill = skill;

import config from '@/config/config.js';
Vue.prototype.$config = config;

import attr_map from '@/config/attr_map.js';
Vue.prototype.$attr_map = attr_map;

import formula from '@/config/formula.js';
Vue.prototype.$formula = formula;

//游戏数据
import data_monster from '@/data/data_monster.js';
Vue.prototype.$data_monster = data_monster;

import data_map from '@/data/data_map.js';
Vue.prototype.$data_map = data_map;

import data_skill from '@/data/data_skill.js';
Vue.prototype.$data_skill = data_skill;

import data_item from '@/data/data_item.js';
Vue.prototype.$data_item = data_item;

import data_exp from '@/data/data_exp.js';
Vue.prototype.$data_exp = data_exp;


// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
  ...App
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif